package com.sc.userspringboot.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;

import lombok.Data;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 用户基础信息表
 * </p>
 *
 * @author user
 * @since 2025-09-19 06:27:31
 */
@Getter
@Setter
@Data
@TableName("users")
public class Users {

    /**
     * 用户唯一标识ID（自增）
     */
    @TableId(value = "user_id", type = IdType.AUTO)
    private Integer userId;

    /**
     * 注册/登录邮箱（唯一，不可重复）
     */
    @TableField("email")
    private String email;

    /**
     * 加密后的登录密码（如BCrypt加密）
     */
    @TableField("password")
    private String password;

    /**
     * 用户昵称（30天可修改1次）
     */
    @TableField("nickname")
    private String nickname;

    /**
     * 头像图片URL（默认使用系统头像）
     */
    @TableField("avatar")
    private String avatar;

    /**
     * 账号注册时间（如：2024-01-01 10:00:00）
     */
    @TableField("register_time")
    private Date registerTime;

    /**
     * 用户个人简介（最多150字）
     */
    @TableField("intro")
    private String intro;

    /**
     * 账号状态（1-正常，0-禁言，-1-封号）
     */
    @TableField("status")
    private Byte status;

    /**
     * 禁言结束时间（仅状态为0时生效，否则为NULL）
     */
    @TableField("mute_end_time")
    private Date muteEndTime;

    /**
     * 最近一次登录时间（记录用户活跃状态）
     */
    @TableField("last_login_time")
    private Date lastLoginTime;

    /**
     * 消息通知总开关（1-开启，0-关闭）
     */
    @TableField("notify_switch")
    private Byte notifySwitch;

    /**
     *等级
     */
    @TableField("level")
    private Byte level;

//    @TableField("level")
//    private Integer level;
}
